Web Services are becoming the technology used to share data in many domains. Web Services technologies provide access to discoverable, self-describing services that conform to common standards. Access and retrieval of data from heterogeneous sources in a distributed system such as the Internet pose many difficulties and require efficient means of discovery, mediation and transformation of requests and responses. Differences in schema and terminology prevent simple querying and retrieval of data. These functions require processes that enable identification of appropriate services, selection of a service provider of requested data, transformation of requests/responses, and invocation of the service interface. Service availability must also be resolved. There have been a variety of approaches developed for these functions, but primarily independently of each other and not fully automated, i.e., often requiring human intervention.
Web Services provide data and services to users and applications over the Internet through a consistent set of standards and protocols. Commonly used standards and protocols include, but are not necessarily limited to, the Extensible Markup Language (XML), Simple Object Access Protocol (SOAP), the Web Services Definition Language (WSDL) and Universal Discovery Description and Integration (UDDI).
XML is a language used to define data in a platform and programming language independent manner. XML has become one of the widely used standards in interoperable exchange of data on the Internet but does not define the semantics of the data it describes. Instead, the semantics of an XML document are defined by the applications that process them, XML Schemas define the structure or building blocks of an XML document. Some of these structures include the elements and attributes, the hierarchy and number of occurrences of elements, and data types, among others.
WSDL allows the creation of XML documents that define the “contract” for a web service. The “contract” details the acceptable requests that will be honored by the web service and the types of responses that will be generated. The “contract” also defines the XML messaging mechanism of the service. The messaging mechanism, for example, may be specified as SOAP. A web service describes its interface with a WSDL file and may be registered in a registry such as UDDI. Interfaces defined in XML often identify SOAP as the required XML messaging protocol. SOAP allows for the exchange of information between computers regardless of platform or language. A registry 10 provides a way for data providers 20 to advertise their Web Services and for consumers 30 to find data providers 20 and desired services, for example, as shown in FIG. 1. A data provider 20 of a Web Service publishes a description of the Web Service in a registry 10. A Web Service user or consumer 30 discovers and retrieves the description from the Web Service from the registry 10. The Web Service user 30 then invokes the Web Service. The Web Service sends the Web Service User 30 a response to the user's invocation.